//webpack配置会和公共的webpack.config.js进行合并

const path = require('path')

function resolve(dir) {
    return path.join(__dirname, '.', dir)
}

module.exports = {
    chainWebpack: config => {
        // 修复HMR
        config.resolve.symlinks(true);
        config.module.rules.delete('svg'); //重点:删除默认配置中处理svg,
        config.module
            .rule('svg-sprite-loader')
            .test(/\.svg$/)
            .include.add(resolve('src/icons/svg')) //处理svg目录
            .end()
            .use('svg-sprite-loader')
            .loader('svg-sprite-loader')
            .options({
                symbolId: 'icon-[name]',
            });
    },
    configureWebpack: {
        module: {
            rules: [
                {
                    test: /\.(svg)(\?.*)?$/,
                    exclude: [resolve('src/icons/svg')],
                    use: [
                        {
                            loader: 'file-loader',
                            options: {
                                name: 'img/[name].[hash:8].[ext]',
                            },
                        },
                    ],
                },
            ],
        },
    },
    // 执行 npm run build 统一配置文件路径（本地访问dist/index.html需'./'）
    publicPath: '/',
    // 输出文件目录
    outputDir: 'dist',
    devServer: {
        //端口号
        port: 8610,
        //ip 本地
        host: '0.0.0.0',
        //热更新
        hotOnly: true,
        //自动启动浏览器
        open: false,
        // proxy: process.env.VUE_APP_SERVER
        // proxy: {
        //     '/api': {
        //         //目标接口域名
        //         target: 'http://192.168.129.100:8600/',
        //         //是否跨域
        //         changeOrigin: true,
        //         // // 标识替换
        //         // pathRewrite: {
        //         //     //重写接口 后台接口指向不统一  所以指向所有/
        //         //     '^/api': '/',
        //         // }
        //     }
        // },
    },
}
